/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
 *
 */

/**
 * 所有的配置文件都从这里统一加载进内存，其他地方使用配置文件中的配置都从这里获取
 */
class ConfigFileLoader {
  // 用来保存所有的配置文件读取出来的内容
  configFileJsonMap: Map<string, any> = new Map();

  public clean(): void {
    this.configFileJsonMap.clear();
  }

  public getConfigFileJson(filePath: string): any {
    if (this.configFileJsonMap.has(filePath)) {
      // 文件已经被加载过了 直接返回缓存的对象
      return this.configFileJsonMap.get(filePath);
    }
    return undefined;
  }

  public setConfigFileJson(filePath: string, fileJsonObj: any): void {
    this.configFileJsonMap.set(filePath, fileJsonObj);
  }
}

export const configFileLoader: ConfigFileLoader = new ConfigFileLoader();
